package com.purchase.ml.service.sdk;

import com.purchase.ml.bean.api.Ipay88Back;
import com.purchase.ml.bean.sdk.IpayNewDto;
import com.purchase.ml.bean.sdk.IpayQueryDto;

import java.math.BigDecimal;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface Ipay88Service {
    /***
     * 付款请求
    * */
//    Map<String,String> doRequestToIpay88(IpayNewDto dto) throws NoSuchAlgorithmException;

    /***
     * 查询付款状态
     * */
    void doQueryToIpay88(IpayQueryDto dto);

    /**
     * 付款数据放入Redi缓存作为消息队列；定时需要输出队列中的内容；避免重启导致数据丢失；半小时过期
    * */
    void pushObjToRedisList(IpayQueryDto dto);

    /**
     * 付款数据放入Redi缓存作为消息队列；定时需要输出队列中的内容；避免重启导致数据丢失；1小时过期
     * */
    void popObjFromRedisAndQuery(int num);

    /**
     * 从列表删除
     */
    void delObjFromRedisList(IpayQueryDto dto);

    /**
     * 接收到Ipay88CallBack
     */
    void reciveIpay88CallBack(Ipay88Back dto) throws NoSuchAlgorithmException;

}
